There exist today many styles of input devices for performing operations in a computer system. The operations generally correspond to moving a cursor and making selections on a display screen. The operations can also include paging, scrolling, panning, zooming, etc. By way of example, the input devices can include buttons, switches, keyboards, mice, trackballs, touch pads, joy sticks, touch screens and the like. Each of these devices can have advantages and disadvantages that can be taken into account when designing a computer system.
Buttons and switches can be mechanical in nature and provide limited control with regards to the movement of the cursor and making selections. For example, they can be dedicated to moving the cursor in a specific direction (e.g., arrow keys) or to making specific selections (e.g., enter, delete, number, etc.).
In using a mouse instrument, the movement of the input pointer on a display can correspond to the relative movements of the mouse as the user moves the mouse along a surface. In using a trackball instrument, the movement of the input pointer on the display can correspond to the relative movements of a trackball as the user moves the ball within a housing. Mouse and trackball instruments can typically also include one or more buttons for making selections. A mouse instrument can also include scroll wheels that can allow a user to scroll the displayed content by rolling the wheel forward or backward.
With touch pad instrument, such as touch pads on a personal laptop computer, the movement of the input pointer on a display can correspond to the relative movements of the user's finger (or stylus) as the finger is moved along a surface of the touch pad. Touch screens, on the other hand, are a type of display screen that typically can include a touch-sensitive transparent panel (or “skin”) that can overlay the display screen. When using a touch screen, a user typically makes a selection on the display screen by pointing directly to objects (such as GUI objects) displayed on the screen (usually with a stylus or finger).
To provide additionally functionality, hand gestures have been implemented with some of these input devices. By way of example, in touch pads, selections can be made when one or more taps can be detected on the surface of the touch pad. In some cases, any portion of the touch pad can be tapped, and in other cases a dedicated portion of the touch pad can be tapped. In addition to selections, scrolling can be initiated by using finger motion at the edge of the touch pad.
U.S. Pat. Nos. 5,612,719 and 5,590,219, assigned to Apple Computer, Inc. describe some other uses of gesturing. U.S. Pat. No. 5,612,719 discloses an onscreen button that can be responsive to at least two different button gestures made on the screen on or near the button. U.S. Pat. No. 5,590,219 discloses a method for recognizing an ellipse-type gesture input on a display screen of a computer system.
In recent times, more advanced gestures have been implemented. For example, scrolling can be initiated by placing four fingers on the touch pad so that the scrolling gesture is recognized, and thereafter moving these fingers on the touch pad to perform scrolling events. The methods for implementing these advanced gestures, however, can be limited and in many instances counterintuitive. In certain applications, it can be beneficial to enable a user to use “real-world” gestures such as hand movements and/or finger orientations that can be generally recognized to mean certain things, such as an “OK” signal, to more efficiently and accurately effect intended operations.